﻿using Liphofra.Core.EventAggregation;
using Liphofra.Mvvm.Navigation;

namespace Liphofra.Mvvm.ViewModels
{
    /// <summary>
    /// Describes a view model that is aware of the navigation model on Windows Phone.
    /// </summary>
    public interface INavigationViewModel
    {
        /// <summary>
        /// Gets or sets the navigation service that can be used to perform navigation actions from the view model.
        /// </summary>
        INavigationService NavigationService
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the event aggregator that can be used to take part in loosely coupled event messaging.
        /// </summary>
        IEventAggregator EventAggregator
        {
            get;
            set;
        }
    }
}